/* eslint valid-jsdoc: "off" */

'use strict';

/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
module.exports = appInfo => {
  /**
   * built-in config
   * @type {Egg.EggAppConfig}
   **/
  const config = exports = {};

  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + '_1639061082279_8117';

  // 中间件的使用处理，中间件 就是请求开始和处理请求中间执行的,['counter']这样配置是全局的
  config.middleware = [];

  // add your user config here
  const userConfig = {
    // myAppName: 'egg',
  };

  // CSRF伪造跨越请求 enable:false, 配置可以跨域请求配合 REST Clent实现post请求
  config.security = {
    csrf: {
      enable: false,
    },
  };

  // 配置EJS 模板引擎,视图层, ejs 可配置默认符号%
  config.view = {
    mapping: {
      '.html': 'ejs',
    },
  };
  config.ejs = {
    // delimiter:"$"
  };

  // 如何改变静态资源前缀 /public/css/default.css
  // /assets/css/default.css
  config.static = {
    // prefix:"/assets/"
  };

  // 修改session 全局配置
  // key 修改session名字，httpOnly是否只允许服务器访问，maxAge存在时间，renew是否浏览器刷新就重新更新时间
  config.session = {
    key: 'pang_sass',
    httpOnly: false,
    maxAge: 1000 * 60,
    renew: true,
  };

  //配置mysql
  config.mysql = {
    app:true,
    agent:false,
    client:{
      host:'127.0.0.1',
      port:'3306',
      user:'test',
      password:'123456',
      database:'test'
    },
  }
  
  return {
    ...config,
    ...userConfig,
  };
};
